package com.azt.provider.mapper;

import com.azt.api.dto.EnqBgetCreate;
import com.azt.api.dto.EnqCatChoose;
import com.azt.api.dto.EnqQuoteDetail;
import com.azt.api.dto.EnqQuoteItemExt;
import com.azt.api.pojo.EnqQuote;
import com.azt.provider.model.QuoteItemCategory;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

public interface EnqQuoteMapper extends Mapper<EnqQuote> {
    /**
     * 制作设计预算列表
     * Created by 张栋 on 2016/9/21 10:00
	 * @param enqid
	 */
    List<EnqBgetCreate> getEnqBgetCreate(@Param("quoteids") List<Integer> quoteids);

    /**
     * 根据报价id获取所涉及到的类目,以,号分隔
     * Created by 张栋 on 2016/9/21 11:19
     */
    String getCategoryNames(Integer quoteid);

    /**
     * 查报价详情里的 类目的id与类目的名称
     * Created by 张栋 on 2016/9/21 11:29
     */
    List<QuoteItemCategory>  getQuoteItemCategory(Integer quoteid);


    /**
     * 获取报价清单
     * Created by 张栋 on 2016/10/10 11:18
     */
    List<EnqQuoteItemExt> getEnqQuoteItemExt(Integer quoteid);

    
    /**
     * 获取  quote  和 扩展属性
     * Created by 张栋 on 2016/10/10 11:30
     */
    EnqQuote getQuoteByid(Integer quoteid);

    /**
     * 项目,采购询价,查看报价,列表筛选需要相关供应商报价的系统类别
     * Created by 张栋 on 2016/10/14 15:18
     */
    List<EnqCatChoose> getEnqCatChoose(Integer enqid);


    /**
     * 获取能够编辑的报价    既  关联的询价是发布状态
     * @param quoteId
     * @return
     */
    EnqQuote getCanEditQuoteById(Integer quoteId);

    /**
     * 报价详情,根据类目筛选数据
     * Created by 张栋 on 2016/10/17 14:49
     */
    List<EnqCatChoose> getQuoteCatChoose(Integer quoteid);

	/** 
	 * @Title: getQuoteDetail 
	 * @Description: 根据项目Id查询报价详情
	 * @param projectId
	 * @return
	 * @return: List<EnqQuoteDetail>
	 * @author: 查恒 2016年10月25日 下午1:58:35 
	 */
	List<EnqQuoteDetail> getQuoteDetail(@Param("projectId")Integer projectId);

	/** 
	 * @Title: getOrderDetail 
	 * @Description: 根据项目Id查询订单详情
	 * @param projectId
	 * @return
	 * @return: List<EnqQuoteDetail>
	 * @author: 查恒 2016年10月26日 上午9:33:22 
	 */
	List<EnqQuoteDetail> getOrderDetail(@Param("projectId")Integer projectId);

	/**
	 * 查用户下的,报价数量
	 * Created by 张栋 on 2016/11/30 15:54
	 */
    Integer getQuoteCountByUserAndQtype(@Param("userid")Integer userid, @Param("qtype")Integer qtype);

	/**
	 * 更新报价状态
	 * @param enqid  询价id
	 * @param from  原state
	 * @param to  新state
	 * Created by 张栋 on 2017/3/20 13:38
	 */
    void changeQuteStatFromToByEnqid(@Param("enqid")Integer enqid, @Param("from")int from, @Param("to")int to);
}